De Dubbele Last: Klimaatverandering, CO2-uitstoot en de Impact op Wereldwijde Voedselzekerheid#
Klimaatverandering laat zich op veel manieren zien. De stijging van de wereldwijde temperatuur en het toenemende aantal extreme weersomstandigheden zijn daar de bekendste voorbeelden van. Deze veranderingen worden grotendeels veroorzaakt door menselijke CO2-uitstoot.
Maar de gevolgen beïnvloeden niet alleen het klimaat. Ze hebben ook directe en vaak oneerlijke impact op mensen, vooral op het gebied van voedselzekerheid. In dit project onderzoeken we het verband tussen de oorzaak (uitstoot) en het gevolg (voedselproductie), en hoe deze geografisch en sociaal verdeeld zijn.
We gebruiken hiervoor twee datasets:
een uitgebreide dataset van Our World in Data over CO2-uitstoot per land, per jaar en per sector.
een dataset van de FAO over wereldwijde gewasopbrengsten, uitgesplitst per gewas, land en jaar.
Om dit grotere verhaal te onderzoeken, bekijken we de data vanuit twee afzonderlijke perspectieven: eerst de wereldwijde uitstoot, vervolgens de ontwikkeling van landbouwopbrengsten.
Perspectief 1: Wie is verantwoordelijk voor de wereldwijde CO2-uitstoot?#
In dit perspectief richten we ons op de oorzaakkant van klimaatverandering: de uitstoot van CO2. De centrale vraag is: hoe is de wereldwijde uitstoot verdeeld, en wat valt daarin op als je kijkt naar tijd, landen, bevolkingsgrootte en economische activiteit?
We gebruiken hiervoor de CO2-dataset van Our World in Data, die data bevat vanaf 1750 tot nu. Deze dataset geeft ons per land en per jaar informatie over:
totale CO2-uitstoot
uitstoot per hoofd van de bevolking
uitstoot uitgesplitst naar bron (bijv. kolen, olie, gas, cement, flaring)
bevolkingscijfers
enkele sociaaleconomische indicatoren
Wat we willen laten zien (onze argumenten):#
Absolute uitstootverschillen tussen landen
→ Sommige landen zijn verantwoordelijk voor een veel groter aandeel in de totale uitstoot dan anderen.
Uiteenlopende uitstoot per hoofd van de bevolking
→ Er zijn landen met relatief weinig inwoners die toch een hoge uitstoot per persoon hebben.
Ontwikkeling van wereldwijde uitstoot over de tijd
→ De uitstoot is vooral sinds 1950 sterk toegenomen, parallel aan industrialisering.
Belangrijkste economische bronnen van uitstoot
→ Energie, industrie, transport en andere sectoren dragen in wisselende mate bij aan de uitstoot.
Visualisaties die we hierbij willen gebruiken:#
Staafdiagrammen voor ranglijsten van landen (absoluut en per hoofd)
Tijdreeksen van uitstootontwikkeling per land en wereldwijd
Geografische kaarten van uitstoot per land
Stacked bar charts voor uitstoot per sector of bron
We doen in dit perspectief geen uitspraken over gevolgen of ethische vragen. We onderzoeken hier wie, wanneer en hoe veel uitstoot produceert en wat daarvan zichtbaar wordt in de data.
Perspectief 2: Hoe ontwikkelt de voedselproductie zich wereldwijd over tijd en per regio?#
In dit perspectief kijken we niet naar oorzaken, maar puur naar de productie van voedsel. Meer specifiek gaat het om de ontwikkeling van de opbrengsten van belangrijke gewassen over de tijd en in verschillende regio’s. De centrale vraag is: wat zien we gebeuren met landbouwopbrengsten wereldwijd, en hoe verschillen die trends per regio, gewas en tijdsperiode?
We gebruiken hiervoor de gewasopbrengst-dataset van de Food and Agriculture Organization (FAO). Deze dataset bevat per land, gewas en jaar:
totale productie
opbrengst per hectare
totaal geoogst areaal
We focussen op gewassen als rijst, maïs, tarwe en soja. Dit zijn namelijk gewassen die essentieel zijn voor voedselzekerheid in grote delen van de wereld.
Wat we willen laten zien (onze argumenten):#
Trends in opbrengst over tijd
→ In sommige landen stijgt de opbrengst gestaag, in andere juist niet.
Verschillen tussen regio’s of landen
→ Opbrengsten veranderen niet overal op dezelfde manier. Sommige regio’s lopen achter of zijn minder stabiel.
Onderscheid tussen gewassen
→ Niet alle gewassen ontwikkelen zich hetzelfde. Sommige zijn gevoeliger voor veranderingen in de omgeving dan andere.
Structurele instabiliteit in opbrengsten
→ In sommige landen schommelen de opbrengsten sterk, wat kan betekenen dat de omstandigheden daar kwetsbaar of onbetrouwbaar zijn.
Visualisaties die we hierbij willen gebruiken:#
Tijdreeksen van opbrengst per gewas en per land
Vergelijkende staafdiagrammen per gewas/regio
Geografische kaarten van gemiddelde opbrengst per gewas
Boxplots of spreidingsdiagrammen voor fluctuaties in opbrengst
In dit perspectief richten we ons volledig op wat de data laat zien en vermijden we uitspraken over oorzaken. Het onderzoek draait om wat er gebeurt, waar het gebeurt, wanneer het gebeurt en in welke mate.
Welke landen stoten het meeste CO2 uit in absolute termen in 2023?
Deze grafiek toont welke landen in absolute zin de meeste CO₂ uitstoten in 2023.
co2_countries_only = co2_2023[co2_2023['iso_code'].str.len() == 3]
top_emitters = co2_countries_only.groupby('country')['co2'].sum().sort_values(ascending=False)
top10 = top_emitters.head(10)
plt.figure(figsize=(10,6))
top10.plot(kind='bar')
plt.title('Top 10 landen met hoogste CO₂-uitstoot in 2023')
plt.ylabel('CO₂-uitstoot (miljoen ton)')
plt.xlabel('Land')
plt.xticks(rotation=45, ha='right')
plt.grid(axis='y')
plt.tight_layout()
plt.show()
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[1], line 1
----> 1 co2_countries_only = co2_2023[co2_2023['iso_code'].str.len() == 3]
2 top_emitters = co2_countries_only.groupby('country')['co2'].sum().sort_values(ascending=False)
3 top10 = top_emitters.head(10)
NameError: name 'co2_2023' is not defined
We zien dat de Verenigde Staten, China en Rusland de grootste uitstoters zijn. Dit komt deels door hun grootte en hoge economische activiteit. De rest van de landen in de top 10, zoals Duitsland, het Verenigd Koninkrijk en India, stoten aanzienlijk minder uit. Er is een duidelijk verschil in uitstoot tussen de top 2 en de overige landen in de lijst.
Deze grafiek toont welke energiebronnen verantwoordelijk zijn voor de meeste CO₂-uitstoot wereldwijd. Zo wordt duidelijk welke sectoren of activiteiten de grootste impact hebben.
import matplotlib.pyplot as plt
bron_co2 = co2_2023[co2_2023['year'] == 2023]
bron_co2_sum = bron_co2[['coal_co2', 'oil_co2', 'gas_co2', 'cement_co2']].sum()
plt.figure(figsize=(6, 4))
bron_co2_sum.plot(kind='bar')
plt.title('Wereldwijde CO₂-uitstoot per bron in 2023')
plt.ylabel('CO₂-uitstoot (miljoen ton)')
plt.xticks(rotation=45, ha='right')
plt.grid(axis='y')
plt.tight_layout()
plt.show()
De meeste CO₂-uitstoot in 2023 komt van het verbranden van kolen. Daarna volgen olie en gas. Cement zorgt voor een kleinere, maar nog steeds belangrijke hoeveelheid uitstoot.Cement draagt veel minder bij, maar is nog steeds verantwoordelijk voor een deel van de totale uitstoot. Het verschil tussen kolen en de andere bronnen is duidelijk zichtbaar.
co2_2023 = pd.read_csv("owid-co2-data.csv")
co2_countries = co2_2023[co2_2023['iso_code'].str.len() == 3]
co2_2023_only = co2_countries[co2_countries['year'] == 2023]
co2_2023_only = co2_2023_only.dropna(subset=['co2_per_capita'])
top10_per_capita = co2_2023_only.sort_values(by='co2_per_capita', ascending=False).head(10)
In plaats van de totale uitstoot per land, focust deze grafiek op de uitstoot per persoon. Hiermee zie je welke landen per inwoner de zwaarste ecologische voetafdruk hebben.
plt.figure(figsize=(10,6))
bars = plt.bar(top10_per_capita['country'], top10_per_capita['co2_per_capita'])
plt.title('Top 10 landen met hoogste CO₂-uitstoot per hoofd van de bevolking (2023)')
plt.ylabel('CO₂-uitstoot per persoon (ton)')
plt.xlabel('Land')
plt.xticks(rotation=30, ha='right')
plt.grid(axis='y')
plt.tight_layout()
for bar in bars:
yval = bar.get_height()
plt.text(bar.get_x() + bar.get_width()/2, yval + 0.1, f'{yval:.1f}', ha='center', va='bottom')
plt.show()
Uit deze grafiek blijkt dat Qatar en Brunei de hoogste CO₂-uitstoot per persoon hebben in 2023. Dit laat zien dat landen met een kleine bevolking toch extreem veel kunnen uitstoten per hoofd. Het benadrukt dat je naast totale uitstoot ook naar uitstoot per persoon moet kijken om het hele plaatje te begrijpen.
Deze tijdlijn toont hoe de CO₂-uitstoot van China zich sinds 1950 heeft ontwikkeld. Het geeft inzicht in de rol van China door de jaren heen in de wereldwijde uitstoot.
df = pd.read_csv("owid-co2-data.csv")
china = df[(df['country'] == 'China') & (df['year'] >= 1950)]
china = china.dropna(subset=['co2'])
plt.figure(figsize=(10,6))
plt.plot(china['year'], china['co2'], marker='o')
plt.title('CO₂-uitstoot in China (1950–2023)')
plt.xlabel('Jaar')
plt.ylabel('CO₂-uitstoot (miljoen ton)')
plt.grid(True)
plt.tight_layout()
plt.show()
De grafiek laat zien dat de CO₂-uitstoot in China tussen 1950 en 2023 sterk is gestegen, vooral vanaf het jaar 2000. De lijn gaat vrijwel continu omhoog, met een paar kleine schommelingen.
fao = pd.read_csv('Production_Crops_Livestock_E_All_Data.csv', low_memory=False)
fao.head()
jaar_kolommen = [col for col in fao.columns if col.startswith('Y')]
meta_kolommen = ['Area', 'Item', 'Element', 'Unit']
fao_melted = pd.melt(fao,
id_vars=meta_kolommen,
value_vars=jaar_kolommen,
var_name='Year',
value_name='Value')
fao_melted['Year'] = fao_melted['Year'].str.extract('(\d{4})').astype(int)
fao_melted.head()
| Area | Item | Element | Unit | Year | Value | |
|---|---|---|---|---|---|---|
| 0 | Afghanistan | Almonds, in shell | Area harvested | ha | 1961 | 0.0 |
| 1 | Afghanistan | Almonds, in shell | Yield | kg/ha | 1961 | NaN |
| 2 | Afghanistan | Almonds, in shell | Production | t | 1961 | 0.0 |
| 3 | Afghanistan | Anise, badian, coriander, cumin, caraway, fenn... | Area harvested | ha | 1961 | NaN |
| 4 | Afghanistan | Anise, badian, coriander, cumin, caraway, fenn... | Yield | kg/ha | 1961 | NaN |
landen = ['India', 'Nigeria', 'United States of America']
tarwe_drie_landen = tarwe_yield[tarwe_yield['Area'].isin(landen)]
tarwe_drie_landen.groupby('Area')['Value'].count()
Area
India 126
Nigeria 126
United States of America 252
Name: Value, dtype: int64
In deze grafiek vergelijken we de tarwe-opbrengst per hectare in drie landen over tijd. Het laat zien hoe efficiëntie en landbouwpraktijken per land verschillen en evolueren.
tarwe_drie_landen.loc[:, 'Year'] = tarwe_drie_landen['Year'].astype(int)
tarwe_drie_landen.loc[:, 'Value'] = pd.to_numeric(tarwe_drie_landen['Value'], errors='coerce')
plt.figure(figsize=(12, 6))
for land in landen:
subset = tarwe_drie_landen[(tarwe_drie_landen['Area'] == land) & (tarwe_drie_landen['Value'].notna())]
plt.plot(subset['Year'], subset['Value'], label=land)
plt.title('Ontwikkeling van tarwe-opbrengst (kg/ha) per land (1961–2023)')
plt.xlabel('Jaar')
plt.ylabel('Opbrengst (kg/ha)')
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()
De grafiek laat zien hoe de tarwe-opbrengst per hectare zich heeft ontwikkeld van 1961 tot 2023 in India, Nigeria en de Verenigde Staten. De opbrengst in India stijgt gestaag. In de VS is de opbrengst hoog, maar met veel schommelingen. Nigeria laat een onregelmatig patroon zien, met periodes van daling en herstel.
Hier zie je de verdeling van tarwe-opbrengsten wereldwijd in 2023. De boxplot laat zien dat sommige landen duidelijk hogere opbrengsten halen dan het wereldgemiddelde.
import seaborn as sns
tarwe_2023 = tarwe_yield[tarwe_yield['Year'] == 2023]
tarwe_2023 = tarwe_2023[tarwe_2023['Value'].notna()] # Verwijder lege waarden
tarwe_2023_clean = tarwe_2023.copy()
tarwe_2023_clean['Value'] = pd.to_numeric(tarwe_2023_clean['Value'], errors='coerce')
tarwe_2023_clean = tarwe_2023_clean.dropna(subset=['Value'])
plt.figure(figsize=(8, 6))
sns.boxplot(x=tarwe_2023_clean['Value'], orient='h')
plt.title('Spreiding van tarwe-opbrengst (kg/ha) per land in 2023')
plt.xlabel('Opbrengst (kg per hectare)')
plt.tight_layout()
plt.show()
De boxplot laat zien dat de tarwe-opbrengst per hectare in 2023 flink varieert tussen landen. De meeste landen liggen binnen een breed bereik, maar er zijn ook enkele uitschieters met opvallend hoge opbrengsten. De verdeling is scheef naar rechts, wat betekent dat een paar landen veel hoger scoren dan de rest.
fao_long = fao.melt(
id_vars=['Area', 'Item', 'Element', 'Unit'],
var_name='Year',
value_name='Value'
)
fao_long['Year'] = fao_long['Year'].str.extract('(\d{4})')
fao_long['Year'] = pd.to_numeric(fao_long['Year'], errors='coerce')
fao_long = fao_long.dropna(subset=['Year', 'Value'])
gewassen = ['Wheat', 'Rice, paddy', 'Maize']
land = 'India'
gewassen_india = fao_long[
(fao_long['Item'].isin(gewassen)) &
(fao_long['Area'] == land) &
(fao_long['Element'] == 'Yield')
].copy()
gewassen_india = gewassen_india.sort_values(by='Year')
gewassen_india['Value'] = pd.to_numeric(gewassen_india['Value'], errors='coerce')
gewassen_india = gewassen_india.dropna(subset=['Value'])
gewassen_india['Item'].unique()
kolommen = ['Area', 'Item', 'Element'] + [col for col in fao.columns if col.startswith('Y')]
fao_long = fao[kolommen].melt(
id_vars=['Area', 'Item', 'Element'],
var_name='Year',
value_name='Value'
)
fao_long['Year'] = fao_long['Year'].str.extract(r'Y(\d{4})').astype(int)
fao_long['Value'] = pd.to_numeric(fao_long['Value'], errors='coerce')
fao_long = fao_long.dropna(subset=['Value'])
Deze wereldkaart toont per land hoeveel tarwe per hectare werd geoogst in 2023. Het helpt visueel inzicht te krijgen in welke regio’s het meest productief zijn.
import plotly.express as px
tarwe_2023_kaart = fao_long[
(fao_long['Item'] == 'Wheat') &
(fao_long['Element'] == 'Yield') &
(fao_long['Year'] == 2023)
].copy()
fig = px.choropleth(
tarwe_2023_kaart,
locations='Area',
locationmode='country names',
color='Value',
hover_name='Area',
color_continuous_scale='YlGn',
title='Tarwe-opbrengst (kg/ha) per land in 2023'
)
fig.show()
De kaart laat zien hoe de tarwe-opbrengst per hectare in 2023 verschilt tussen landen. Vooral landen in Noord-Amerika, Europa en delen van Azië hebben hoge opbrengsten. In Afrika en delen van Zuid-Amerika zijn de opbrengsten gemiddeld lager. Dit benadrukt de ongelijkheid in landbouwproductiviteit wereldwijd.
Conclusie
In dit project hebben we onderzocht hoe CO₂-uitstoot en voedselproductie verdeeld zijn over de wereld. Daarbij keken we naar twee perspectieven: wie verantwoordelijk is voor de uitstoot van CO₂, en hoe de opbrengst van voedselgewassen zich wereldwijd ontwikkelt. We baseerden ons op twee grote datasets: één van Our World in Data over CO₂-uitstoot, en één van de FAO over landbouwopbrengsten. Door beide datasets te combineren, konden we laten zien hoe ongelijk de wereld verdeeld is op het gebied van vervuiling én voedselzekerheid.
In het eerste perspectief richtten we ons op de oorzaak van klimaatverandering, namelijk de uitstoot van CO₂. We onderzochten hoe die uitstoot verschilt per land, per persoon en over de tijd. Uit de visualisaties bleek dat sommige landen veel meer uitstoten dan andere. De Verenigde Staten en China zijn daar voorbeelden van. Maar wanneer we kijken naar de uitstoot per persoon, zien we dat kleinere, rijke landen zoals Qatar, Brunei en Bahrein de hoogste waarden hebben. Zij hebben weinig inwoners, maar gebruiken veel energie. Daardoor is hun uitstoot per persoon heel hoog. Ook zagen we dat China sinds ongeveer 2000 een sterke toename in uitstoot laat zien. Dat sluit aan bij de economische groei van het land in die periode. Deze groei heeft dus niet alleen invloed op de welvaart, maar ook op de druk op het klimaat.
In het tweede perspectief keken we juist naar de gevolgen van klimaatverandering, namelijk de verschillen in voedselproductie. We gebruikten daarvoor gegevens over de opbrengst van gewassen zoals tarwe, rijst en mais. We hebben vooral ingezoomd op tarwe en gekeken naar hoe de opbrengst per hectare zich ontwikkelt in landen als India, Nigeria en de Verenigde Staten. De VS laat al jaren een stabiel hoge opbrengst zien. In India is de opbrengst sinds de jaren 60 flink gestegen, wat waarschijnlijk te maken heeft met landbouwverbeteringen zoals de Groene Revolutie. In Nigeria zijn de opbrengsten veel onregelmatiger. Ze schommelen van jaar tot jaar, wat kan komen door droogte, economische onzekerheid of een gebrek aan technologie. Deze verschillen laten zien dat niet elk land even goed in staat is om voedselzekerheid te garanderen.
De wereldkaart met tarwe-opbrengst in 2023 laat nog duidelijker zien hoe ongelijk de wereld verdeeld is. In Noord-Amerika, Europa en delen van Azië zijn de opbrengsten per hectare hoog. In veel Afrikaanse landen en enkele Zuid-Amerikaanse landen zijn de opbrengsten juist laag. Dit kan komen door slechtere toegang tot irrigatie, kunstmest, kennis of stabiel weer. De boxplot bevestigt dat verschil, met een brede spreiding tussen lage en hoge opbrengsten. Sommige landen halen meer dan 8000 kg tarwe per hectare, terwijl anderen amper boven de 1000 kg komen.
Door de combinatie van deze twee onderwerpen (uitstoot en voedselproductie) zie je goed waar de grootste verschillen liggen. Sommige landen zorgen voor veel CO₂-uitstoot én hebben tegelijk een hoge landbouwproductie. Andere landen dragen weinig bij aan de uitstoot, maar hebben ook minder middelen om voedsel efficiënt te produceren. Dat betekent dat de lasten van klimaatverandering niet eerlijk verdeeld zijn. Landen die het minst bijdragen aan het probleem, zijn vaak juist het meest kwetsbaar voor de gevolgen.
De cijfers maken duidelijk dat er grote verschillen zijn tussen landen, in verantwoordelijkheid én in weerbaarheid. Wie het meeste vervuilt, heeft vaak ook de middelen om zich aan te passen. Wie het minst uitstoot, heeft die middelen niet altijd. Dit zijn belangrijke inzichten als we nadenken over oplossingen voor klimaatverandering en wereldwijde voedselzekerheid.